commonlibsse_ng\re\m/
MouseMoveEvent.rs1use crate::re::BSFixedString::BSFixedString;
2use crate::re::IDEvent::{IDEvent, IDEventVtbl};
3use crate::re::offsets_rtti::RTTI_MouseMoveEvent;
4use crate::re::offsets_vtable::VTABLE_MouseMoveEvent;
5use crate::rel::ResolvableAddress;
6use crate::rel::id::{DataBaseError, VariantID};
7
8#[repr(C)]
9#[derive(Debug, PartialEq)]
10pub struct MouseMoveEvent {
11 pub __base: IDEvent, pub mouseInputX: i32, pub mouseInputY: i32, }
15const _: () = assert!(core::mem::size_of::<MouseMoveEvent>() == 0x30);
16
17impl MouseMoveEvent {
18 pub const RTTI: VariantID = RTTI_MouseMoveEvent;
20
21 pub const VTABLE: [VariantID; 1] = VTABLE_MouseMoveEvent;
23
24 pub fn vtable() -> Result<&'static MouseMoveEventVtbl, DataBaseError> {
26 Self::VTABLE[0].address().map(|vtable| unsafe { vtable.cast().as_ref() })
27 }
28
29 #[inline]
30 pub const fn set_xy(&mut self, x: i32, y: i32) {
31 self.mouseInputX = x;
32 self.mouseInputY = y;
33 }
34
35 #[inline]
36 pub fn set_xy_with_event(&mut self, x: i32, y: i32, user_event: BSFixedString) {
37 self.mouseInputX = x;
38 self.mouseInputY = y;
39 self.__base.userEvent = user_event;
40 }
41}
42
43pub struct MouseMoveEventVtbl {
44 pub __base: IDEventVtbl, }